連幾天跳針分享了筆記,今天回來Laravel~
之前資料庫的部分其實還沒完,再回來探討一下Laravel資料庫的玩法。
官方文檔這邊服用:Eloquent: Getting Started
Eloquent 是Laravel的物件關聯對應ORM(Object-relation mapper)
ORM 在網站開發結構中,是在『資料庫』和『 Model 資料容器』兩者之間,
簡單來說,它是一個幫助使用者更簡便、安全的去從資料庫讀取資料,
ORM 的一個特性為: 透過程式語言(PHP),去操作資料庫語言( SQL )。
優點:
缺點:
更詳細內容請參考:
[Day20] 資料庫設計概念 - ORM
而Laravel的ORM設計,就體現在Model上。那就來讓我們建立Model吧!
先進入我們workspace容器,然後打Model建立的命令:
laradock % docker-compose exec workspace bash
/var/www# cd rachel-projects/career-expo/
/var/www/rachel-projects/career-expo# php artisan make:model CareerUser
就看到我們的app>Models>CareerUser.php
建立好了
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class CareerUser extends Model
{
protected $table = 'career_users';
public $primaryKey = 'id';
protected $hidden = [
'created_at', 'updated_at',
]; //保護某些欄位不被用戶讀取到
}
在Controller使用Model,如我們要取用CareerUser所有的列,就是:CareerUser::all()
這是laravel中的Eloquent語法。
<?php
namespace App\Http\Controllers;
use App\Models\CareerUser; //記得引用
use Illuminate\View\View;
class HomeController extends Controller
{
public function showIndex(): View {
return view('index', ['users' => CareerUser::all()]);
}
}